﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Globalization;
namespace SAPInvoker.Util
{
    class GetSructureDataTable
    {
        public static DataTable GetDataTable(string name)
        {
            DataTable type = null;
            if (string.Compare(name, "ZFMATTRIBUTES", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZFMATTRIBUTES");

                type.Columns.Add(new DataColumn("FUNCNAME", typeof(string)));
                type.Columns.Add(new DataColumn("PNAME", typeof(string)));
                type.Columns.Add(new DataColumn("RELEASED", typeof(string)));
                type.Columns.Add(new DataColumn("FREEDATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("FMODE", typeof(string)));
                type.Columns.Add(new DataColumn("STEXT", typeof(string)));
                type.Columns.Add(new DataColumn("CNAM", typeof(string)));
                type.Columns.Add(new DataColumn("CDAT", typeof(DateTime)));
                type.Columns.Add(new DataColumn("AREA", typeof(string)));
                type.Columns.Add(new DataColumn("AREAT", typeof(string)));
                type.Columns.Add(new DataColumn("ACTIVE", typeof(string)));
                type.Columns.Add(new DataColumn("DEVCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("CTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("COMPONENT", typeof(string)));
                type.Columns.Add(new DataColumn("SECU", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZFMPARAMETERS", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZFMPARAMETERS");
                type.Columns.Add(new DataColumn("FUNCNAME", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMETER", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("STRUCTURE", typeof(string)));
                type.Columns.Add(new DataColumn("DEFAULTVAL", typeof(string)));
                type.Columns.Add(new DataColumn("OPTIONAL", typeof(string)));
                type.Columns.Add(new DataColumn("PPOSITION", typeof(Int32)));
                type.Columns.Add(new DataColumn("ISSTRUCTURE", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZFMPARAMFIELDS", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZFMPARAMFIELDS");
                type.Columns.Add(new DataColumn("FUNCNAME", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMETER", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION"));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("INTTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("INTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LENG", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(string)));
                type.Columns.Add(new DataColumn("OFFSET", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZBIRETURN", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZBIRETURN");
                type.Columns.Add(new DataColumn("TYPE", typeof(string)));
                type.Columns.Add(new DataColumn("MSGNR", typeof(string)));
                type.Columns.Add(new DataColumn("MESSAGE", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD02V", true, CultureInfo.InvariantCulture) == 0)
            {

                type = new DataTable("ZZMSBI_DD02V");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("TABCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("SQLTAB", typeof(string)));
                type.Columns.Add(new DataColumn("DATMIN", typeof(float)));
                type.Columns.Add(new DataColumn("DATMAX", typeof(float)));
                type.Columns.Add(new DataColumn("DATAVG", typeof(float)));
                type.Columns.Add(new DataColumn("CLIDEP", typeof(string)));
                type.Columns.Add(new DataColumn("BUFFERED", typeof(string)));
                type.Columns.Add(new DataColumn("COMPRFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("LANGDEP", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("ACTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("APPLCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("AUTHCLASS", typeof(float)));
                type.Columns.Add(new DataColumn("AS4USER", typeof(string)));
                type.Columns.Add(new DataColumn("AS4DATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("AS4TIME", typeof(DateTime)));
                type.Columns.Add(new DataColumn("MASTERLANG", typeof(string)));
                type.Columns.Add(new DataColumn("MAINFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("CONTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVETAB", typeof(string)));
                type.Columns.Add(new DataColumn("GLOBALFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("PROZPUFF", typeof(float)));
                type.Columns.Add(new DataColumn("VIEWCLASS", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD09L", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD09L");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("AS4LOCAL", typeof(string)));
                type.Columns.Add(new DataColumn("AS4VERS", typeof(float)));
                type.Columns.Add(new DataColumn("TABKAT", typeof(string)));
                type.Columns.Add(new DataColumn("TABART", typeof(string)));
                type.Columns.Add(new DataColumn("PUFFERUNG", typeof(string)));
                type.Columns.Add(new DataColumn("SCHFELDANZ", typeof(float)));
                type.Columns.Add(new DataColumn("PROTOKOLL", typeof(string)));
                type.Columns.Add(new DataColumn("SPEICHPUFF", typeof(string)));
                type.Columns.Add(new DataColumn("AS4USER", typeof(string)));
                type.Columns.Add(new DataColumn("AS4DATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("AS4TIME", typeof(DateTime)));
                type.Columns.Add(new DataColumn("TRANSPFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVE", typeof(string)));
                type.Columns.Add(new DataColumn("UEBERSETZ", typeof(string)));
                type.Columns.Add(new DataColumn("ACTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("BUFALLOW", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZDATATABLE", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZDATATABLE");
                type.Columns.Add(new DataColumn("RECORD", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZSELECTFIELDS", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("SELECTFIELDS");
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZWHERE", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZWHERE");
                type.Columns.Add(new DataColumn("FIELD", typeof(string)));
                type.Columns.Add(new DataColumn("SIGN", typeof(string)));
                type.Columns.Add(new DataColumn("OPTION", typeof(string)));
                type.Columns.Add(new DataColumn("LOW", typeof(string)));
                type.Columns.Add(new DataColumn("HIGH", typeof(string)));
                type.Columns.Add(new DataColumn("OPERATOR", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZBIDD03P", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZBIDD03P");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(float)));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("MANDATORY", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("ADMINFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("INTTYPE"));
                type.Columns.Add(new DataColumn("INTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("REFTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("PRECFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("REFFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("CONROUT", typeof(string)));
                type.Columns.Add(new DataColumn("NOTNULL", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME", typeof(string)));
                type.Columns.Add(new DataColumn("ROUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("MEMORYID", typeof(string)));
                type.Columns.Add(new DataColumn("LOGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("HEADLEN", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN1", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN2", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN3", typeof(float)));
                type.Columns.Add(new DataColumn("DTELGLOBAL", typeof(string)));
                type.Columns.Add(new DataColumn("DTELMASTER", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVEDTE", typeof(string)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LENG", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("LOWERCASE", typeof(string)));
                type.Columns.Add(new DataColumn("SIGNFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("LANGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("VALEXI", typeof(string)));
                type.Columns.Add(new DataColumn("ENTITYTAB", typeof(string)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("MASK", typeof(string)));
                type.Columns.Add(new DataColumn("MASKLEN", typeof(float)));
                type.Columns.Add(new DataColumn("ACTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("REPTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_L", typeof(string)));
                type.Columns.Add(new DataColumn("DOMMASTER", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVEDOM", typeof(string)));
                type.Columns.Add(new DataColumn("DOMGLOBAL", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME3L", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPORIGIN", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPNAME", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("TABLETYPE", typeof(string)));
                type.Columns.Add(new DataColumn("DEPTH", typeof(float)));
                type.Columns.Add(new DataColumn("COMPTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("DEFFDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("GROUPNAME", typeof(string)));
                type.Columns.Add(new DataColumn("REFTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("PROXYTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LANGUFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("EXCLASS", typeof(float)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD03P", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD03P");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(float)));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("MANDATORY", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("ADMINFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("INTTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("INTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("REFTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("PRECFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("REFFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("CONROUT", typeof(string)));
                type.Columns.Add(new DataColumn("NOTNULL", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME", typeof(string)));
                type.Columns.Add(new DataColumn("ROUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("MEMORYID", typeof(string)));
                type.Columns.Add(new DataColumn("LOGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("HEADLEN", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN1", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN2", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN3", typeof(float)));
                type.Columns.Add(new DataColumn("DTELGLOBAL", typeof(string)));
                type.Columns.Add(new DataColumn("DTELMASTER", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVEDTE", typeof(string)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LENG", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("LOWERCASE", typeof(string)));
                type.Columns.Add(new DataColumn("SIGNFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("LANGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("VALEXI", typeof(string)));
                type.Columns.Add(new DataColumn("ENTITYTAB", typeof(string)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("MASK", typeof(string)));
                type.Columns.Add(new DataColumn("MASKLEN", typeof(float)));
                type.Columns.Add(new DataColumn("ACTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("REPTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_L", typeof(string)));
                type.Columns.Add(new DataColumn("DOMMASTER", typeof(string)));
                type.Columns.Add(new DataColumn("RESERVEDOM", typeof(string)));
                type.Columns.Add(new DataColumn("DOMGLOBAL", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME3L", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPORIGIN", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPNAME", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("TABLETYPE", typeof(string)));
                type.Columns.Add(new DataColumn("DEPTH", typeof(float)));
                type.Columns.Add(new DataColumn("COMPTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("DEFFDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("GROUPNAME", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD05M", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD05M");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FORTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("PRIMPOS", typeof(float)));
                type.Columns.Add(new DataColumn("DOMNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LENG", typeof(float)));
                type.Columns.Add(new DataColumn("FORSTRING", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD08V", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD08V");
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("FRKART", typeof(string)));
                type.Columns.Add(new DataColumn("CLASFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("CLASVALUE", typeof(string)));
                type.Columns.Add(new DataColumn("CARD", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("ARBGB", typeof(string)));
                type.Columns.Add(new DataColumn("MSGNR", typeof(string)));
                type.Columns.Add(new DataColumn("NOINHERIT", typeof(string)));
                type.Columns.Add(new DataColumn("CARDLEFT", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD12V", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD12V");
                type.Columns.Add(new DataColumn("SQLTAB", typeof(string)));
                type.Columns.Add(new DataColumn("INDEXNAME", typeof(string)));
                type.Columns.Add(new DataColumn("AS4LOCAL", typeof(string)));
                type.Columns.Add(new DataColumn("AS4VERS", typeof(float)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("AUTHCLASS", typeof(float)));
                type.Columns.Add(new DataColumn("UNIQUEFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("AS4USER", typeof(string)));
                type.Columns.Add(new DataColumn("AS4DATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("AS4TIME", typeof(DateTime)));
                type.Columns.Add(new DataColumn("ACTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("DBINDEX", typeof(string)));
                type.Columns.Add(new DataColumn("DBSTATE", typeof(string)));
                type.Columns.Add(new DataColumn("DBINEXCL", typeof(string)));
                type.Columns.Add(new DataColumn("DBSYSSEL1", typeof(string)));
                type.Columns.Add(new DataColumn("DBSYSSEL2", typeof(string)));
                type.Columns.Add(new DataColumn("DBSYSSEL3", typeof(string)));
                type.Columns.Add(new DataColumn("DBSYSSEL4", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD17V", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD17V");
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("SQLTAB", typeof(string)));
                type.Columns.Add(new DataColumn("INDEXNAME", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(float)));
                type.Columns.Add(new DataColumn("AS4LOCAL", typeof(string)));
                type.Columns.Add(new DataColumn("AS4VERS", typeof(float)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DESCFLAG", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD28J", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD28J");
                type.Columns.Add(new DataColumn("VIEWNAME", typeof(string)));
                type.Columns.Add(new DataColumn("LTAB", typeof(string)));
                type.Columns.Add(new DataColumn("OPERATOR", typeof(string)));
                type.Columns.Add(new DataColumn("RTAB", typeof(string)));
                type.Columns.Add(new DataColumn("RFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("SOURCE", typeof(string)));
                type.Columns.Add(new DataColumn("FRKTAB", typeof(string)));
                type.Columns.Add(new DataColumn("FRKDIR", typeof(string)));
                type.Columns.Add(new DataColumn("VOPERATOR", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD28V", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD28V");
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("CONDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(float)));
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("NEGATION", typeof(string)));
                type.Columns.Add(new DataColumn("OPERATOR", typeof(string)));
                type.Columns.Add(new DataColumn("CONSTANTS", typeof(string)));
                type.Columns.Add(new DataColumn("CONTLINE", typeof(string)));
                type.Columns.Add(new DataColumn("AND_OR", typeof(string)));
                type.Columns.Add(new DataColumn("OFFSET", typeof(float)));
                type.Columns.Add(new DataColumn("FLENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("MCOFIELD", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD27P", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD27P");
                type.Columns.Add(new DataColumn("VIEWNAME", typeof(string)));
                type.Columns.Add(new DataColumn("OBJPOS", typeof(float)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("VIEWFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("MCFIELDID", typeof(string)));
                type.Columns.Add(new DataColumn("EFORM", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAMEVI", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLCHANGE", typeof(string)));
                type.Columns.Add(new DataColumn("ENQMODE", typeof(string)));
                type.Columns.Add(new DataColumn("RDONLY", typeof(string)));
                type.Columns.Add(new DataColumn("MEMORYID", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("FLENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPORIGIN", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPNAME", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("REFTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("REFFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("ENTITYTAB", typeof(string)));
                type.Columns.Add(new DataColumn("INTTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("INTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("LOGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("HEADLEN", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN1", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN2", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN3", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("LOWERCASE", typeof(string)));
                type.Columns.Add(new DataColumn("SIGNFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("VALEXI", typeof(string)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("REPTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(float)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(float)));
                type.Columns.Add(new DataColumn("SCRTEXT_L", typeof(string)));
                return type;
            }
            if (string.Compare(name, "ZZMSBI_DD26V", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("ZZMSBI_DD26V");
                type.Columns.Add(new DataColumn("VIEWNAME", typeof(string)));
                type.Columns.Add(new DataColumn("OBJPOS", typeof(float)));
                type.Columns.Add(new DataColumn("DDLANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("VIEWFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("MCFIELDID", typeof(string)));
                type.Columns.Add(new DataColumn("EFORM", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLNAMEVI", typeof(string)));
                type.Columns.Add(new DataColumn("ROLLCHANGE", typeof(string)));
                type.Columns.Add(new DataColumn("ENQMODE", typeof(string)));
                type.Columns.Add(new DataColumn("RDONLY", typeof(string)));
                type.Columns.Add(new DataColumn("MEMORYID", typeof(string)));
                type.Columns.Add(new DataColumn("DOMNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("FLENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPORIGIN", typeof(string)));
                type.Columns.Add(new DataColumn("SHLPFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("REFTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("ENTITYTAB", typeof(string)));
                type.Columns.Add(new DataColumn("INTTYPE", typeof(string)));
                type.Columns.Add(new DataColumn("INTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("LOGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("HEADLEN", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN1", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN2", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN3", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("LOWERCASE", typeof(string)));
                type.Columns.Add(new DataColumn("SIGNFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("VALEXI", typeof(string)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("REPTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(float)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(float)));
                type.Columns.Add(new DataColumn("SCRTEXT_L", typeof(string)));
                return type;
            }
            if (string.Compare(name, "RPY_FIEL", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RPY_FIEL");
                type.Columns.Add(new DataColumn("TABLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("DTELNAME", typeof(string)));
                type.Columns.Add(new DataColumn("CHECKTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("KEYFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(float)));
                type.Columns.Add(new DataColumn("REFTABLE", typeof(string)));
                type.Columns.Add(new DataColumn("REFFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("INCLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("NOTNULL", typeof(string)));
                type.Columns.Add(new DataColumn("DOMANAME", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMID", typeof(string)));
                type.Columns.Add(new DataColumn("LOGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("HEADLEN", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN_S", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN_M", typeof(float)));
                type.Columns.Add(new DataColumn("SCRLEN_L", typeof(float)));
                type.Columns.Add(new DataColumn("DATATYPE", typeof(string)));
                type.Columns.Add(new DataColumn("LENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("OUTPUTLEN", typeof(float)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(float)));
                type.Columns.Add(new DataColumn("LOWERCASE", typeof(string)));
                type.Columns.Add(new DataColumn("SIGNFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("LANGFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("VALUETAB", typeof(string)));
                type.Columns.Add(new DataColumn("CONVEXIT", typeof(string)));
                type.Columns.Add(new DataColumn("DDTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("REPTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_S", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_M", typeof(string)));
                type.Columns.Add(new DataColumn("SCRTEXT_L", typeof(string)));
                type.Columns.Add(new DataColumn("VALUEEXIST", typeof(string)));
                type.Columns.Add(new DataColumn("ADMINFIELD", typeof(string)));
                type.Columns.Add(new DataColumn("INTLENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("INTTYPE", typeof(string)));

                return type;
            }
            if (string.Compare(name, "RPY_TABL", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RPY_TABL");
                type.Columns.Add(new DataColumn("TABLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("LANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("TABLCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("SQLTAB", typeof(string)));
                type.Columns.Add(new DataColumn("BUFFERED", typeof(string)));
                type.Columns.Add(new DataColumn("SHORTTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("ACTTYPE", typeof(float)));
                type.Columns.Add(new DataColumn("INCLEXIST", typeof(string)));
                type.Columns.Add(new DataColumn("MASTERLANG", typeof(string)));
                type.Columns.Add(new DataColumn("MAINTFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("DELIVERYCL", typeof(string)));
                type.Columns.Add(new DataColumn("MOD_USER", typeof(string)));
                type.Columns.Add(new DataColumn("MOD_DATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("MOD_TIME", typeof(DateTime)));

                return type;
            }
            if (string.Compare(name, "RPY_TBTECH", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RPY_TBTECH");
                type.Columns.Add(new DataColumn("TABLNAME", typeof(string)));
                type.Columns.Add(new DataColumn("LANGUAGE", typeof(string)));
                type.Columns.Add(new DataColumn("TABLCAT", typeof(string)));
                type.Columns.Add(new DataColumn("TABLCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("BUFFERING", typeof(string)));
                type.Columns.Add(new DataColumn("KEYFIELDNO", typeof(float)));
                type.Columns.Add(new DataColumn("LOGGING", typeof(string)));
                type.Columns.Add(new DataColumn("STORETYPE", typeof(string)));
                type.Columns.Add(new DataColumn("MODUSER", typeof(string)));
                type.Columns.Add(new DataColumn("MODDATE", typeof(DateTime)));
                type.Columns.Add(new DataColumn("MODTIME", typeof(DateTime)));
                type.Columns.Add(new DataColumn("TRANSPFLAG", typeof(string)));
                type.Columns.Add(new DataColumn("TRANSLATE", typeof(string)));

                return type;
            }
            if (string.Compare(name, "RFC_FUNINT", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RFC_FUNINT");
                type.Columns.Add(new DataColumn("PARAMCLASS", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMETER", typeof(string)));
                type.Columns.Add(new DataColumn("TABNAME", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("EXID", typeof(string)));
                type.Columns.Add(new DataColumn("POSITION", typeof(Int32)));
                type.Columns.Add(new DataColumn("OFFSET", typeof(Int32)));
                type.Columns.Add(new DataColumn("INTLENGTH", typeof(Int32)));
                type.Columns.Add(new DataColumn("DECIMALS", typeof(Int32)));
                type.Columns.Add(new DataColumn("DEFAULT", typeof(string)));
                type.Columns.Add(new DataColumn("PARAMTEXT", typeof(string)));
                type.Columns.Add(new DataColumn("OPTIONAL", typeof(string)));

                return type;
            }
            if (string.Compare(name, "RFC_DB_OPT", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RFC_DB_OPT");
                type.Columns.Add(new DataColumn("TEXT", typeof(string)));

                return type;
            }
            if (string.Compare(name, "RFC_DB_FLD", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("RFC_DB_FLD");
                type.Columns.Add(new DataColumn("FIELDNAME", typeof(string)));
                type.Columns.Add(new DataColumn("OFFSET", typeof(float)));
                type.Columns.Add(new DataColumn("LENGTH", typeof(float)));
                type.Columns.Add(new DataColumn("TYPE", typeof(string)));
                type.Columns.Add(new DataColumn("FIELDTEXT", typeof(string)));

                return type;
            }
            if (string.Compare(name, "TAB512", true, CultureInfo.InvariantCulture) == 0)
            {
                type = new DataTable("TAB512");
                type.Columns.Add(new DataColumn("WA", typeof(string)));
            }
            return type;
        }
    }
}
